Programming with Numerical Uncertainties
نویسندگان
چکیده
Numerical software, common in scientific computing or embedded systems, inevitably uses an approximation of the real arithmetic in which most algorithms are designed. In many domains, roundoff errors are not the only source of inaccuracy and measurement as well as truncation errors further increase the uncertainty of the computed results. Adequate tools are needed to help users select suitable approximations (data types and algorithms) which satisfy their accuracy requirements, especially for safetycritical applications. Determining that a computation produces accurate results is challenging. Roundoff errors and error propagation depend on the ranges of variables in complex and non-obvious ways; even determining these ranges accurately for nonlinear programs poses a significant challenge. In numerical loops, roundoff errors grow, in general, unboundedly. Finally, due to numerical errors, the control flow in the finite-precision implementation may diverge from the ideal real-valued one by taking a different branch and produce a result that is far-off of the expected one. In this thesis, we present techniques and tools for automated and sound analysis, verification and synthesis of numerical programs. We focus on numerical errors due to roundoff from floating-point and fixed-point arithmetic, external input uncertainties or truncation errors. Our work uses interval or affine arithmetic together with Satisfiability Modulo Theories (SMT) technology as well as analytical properties of the underlying mathematical problems. This combination of techniques enables us to compute sound and yet accurate error bounds for nonlinear computations, determine closed-form symbolic invariants for unbounded loops and quantify the effects of discontinuities on numerical errors. We can furthermore certify the results of self-correcting iterative algorithms. Accuracy usually comes at the expense of resource efficiency: more precise data types need more time, space and energy. We propose a programming model where the scientist writes his or her numerical program in a real-valued specification language with explicit error annotations. It is then the task of our verifying compiler to select a suitable floating-point or fixed-point data type which guarantees the needed accuracy. Sometimes accuracy can be gained by simply re-arranging the non-associative finite-precision computation. We present a scalable technique that searches for a more optimal evaluation order and show that the gains can be substantial. We have implemented all our techniques and evaluated them on a number of benchmarks from scientific computing and embedded systems, with promising results.
منابع مشابه
Application of Stochastic Programming to Determine Operating Reserves with Considering Wind and Load Uncertainties
Wind power generation is variable and uncertain. In the power systems with high penetration of wind power, determination of equivalent operating reserve is the main concern of systems operator. In this paper, a model is proposed to determine operating reserves in simultaneous market clearing of energy and reserve by stochastic programming based on scenarios generated via Monte Carlo simulation ...
متن کاملA dynamic bi-objective model for after disaster blood supply chain network design; a robust possibilistic programming approach
Health service management plays a crucial role in human life. Blood related operations are considered as one of the important components of the health services. This paper presents a bi-objective mixed integer linear programming model for dynamic location-allocation of blood facilities that integrates strategic and tactical decisions. Due to the epistemic uncertain nature of ...
متن کاملOptimal production strategy of bimetallic deposits under technical and economic uncertainties using stochastic chance-constrained programming
In order to catch up with reality, all the macro-decisions related to long-term mining production planning must be made simultaneously and under uncertain conditions of determinant parameters. By taking advantage of the chance-constrained programming, this paper presents a stochastic model to create an optimal strategy for producing bimetallic deposit open-pit mines under certain and uncertain ...
متن کاملA Robust Reliable Forward-reverse Supply Chain Network Design Model under Parameter and Disruption Uncertainties
Social responsibility is a key factor that could result in success and achieving great benefits for supply chains. Responsiveness and reliability are important social responsibility measures for consumers and all stakeholders that strategists and company managers should be concerned about them in long-term planning horizon. Although, presence of uncertainties as an intrinsic part of supply chai...
متن کاملMulti-Objective Stochastic Programming in Microgrids Considering Environmental Emissions
This paper deals with day-ahead programming under uncertainties in microgrids (MGs). A two-stage stochastic programming with the fixed recourse approach was adopted. The studied MG was considered in the grid-connected mode with the capability of power exchange with the upstream network. Uncertain electricity market prices, unpredictable load demand, and uncertain wind and solar power values, du...
متن کاملA Single Machine Capacitated Production Planning Problem Under Uncertainty: A Grey Linear Programming Approach
The production planning is an important problem in most of manufacturing systems in practice. Unlike many researches existing in literature, this problem encounters with great uncertainties in parameters and input data. In this paper, a single machine capacitated production planning problem is considered and a linear programming formulation is presented. The production costs are assumed to be u...
متن کامل